Messaging services in a wireless communications network

ABSTRACT

A method and server for providing a message service. The server receives, via a packet switched WLAN, a request message including a destination address associated with a recipient device. The device of the sender is capable of sending messages via the packet switched WLAN or alternatively via an SMS bearer. The server determines whether the device of the recipient corresponds to a subscriber of a service for receiving the outgoing message via a packet switched bearer. The server sends a response message to the device of the sender. If the device of the recipient corresponds to a subscriber of the service for receiving the outgoing message via a packet switched bearer, the response message provides an indication to the device of the sender to send the outgoing message via the packet switched WLAN. Alternatively, the response message provides an indication to send the outgoing message via the SMS bearer.

CROSS-REFERENCE TO RELATED APPLICATIONS

This Application is a continuation of U.S. patent application Ser. No.13/762,347, filed on Feb. 7, 2013, which is a continuation of U.S.patent application Ser. No. 12/452,883, filed on Jul. 7, 2010, now U.S.Pat. No. 8,401,576, which claims priority to PCT Patent Application No.PCT/AU2008/001043, filed Jul. 18, 2008, that claims priority toAustralian Patent Application No. 2007903979 filed Jul. 24, 2007, andAustralian Patent Application No. 2007906230 filed Nov. 13, 2007, all ofwhich are incorporated herein by reference.

TECHNICAL FIELD

This invention concerns a messaging service in a wireless communicationsnetwork.

BACKGROUND ART

Short Messaging Service (SMS) is a technology for sending and receivingshort text messages between mobile users. It was first introduced in theGlobal System for Mobile Communications (GSM) standards in the 1990s butwas subsequently included in other wireless standards such as CodeDivision Multiple Access Systems (CDMA). Although SMS is extremelypopular, one of its biggest drawbacks is that an SMS message can onlycarry a small amount of data due to limitations imposed by the MobileApplication Part (MAP) protocol of SS7. An SMS message can only containup to 160 8-bit alphanumeric or binary characters and any message longerthan 160 characters is usually sent in multiple messages.

A Short Messaging Service Centre (SMSC) is responsible for handling thedelivery of SMS messages in a wireless communications network. An SMSmessage sent by a mobile user is first delivered to the user's networkSMSC before being routed to the recipient. If the recipient's network isoperated by a different provider or employs a different wirelessstandards, the message may pass more through more than one SMSC or SMSCgateway before reaching its final destination. Signalling System 7 (SS7)provides the transport mechanism for SMS traffic.

There are several messaging services that provide an extension to SMS.Enhanced Messaging Service (EMS), which uses existing SMSinfrastructure, allows up to 255 SMS messages to be packaged as one EMSmessage having richer content such as animation, pictures, sounds andformatted text. Unlike SMS and EMS, Multimedia Messaging Service (MMS)messages are delivered using a mobile packet data network. MMS was firstintroduced in 2.5 generation networks such as GPRS, which provides anInternet Protocol (IP) overlay to the existing GSM networks. Amultimedia message may contain images, audio clips and videos.

On the other hand, Mobile Instant Messaging (MIM) technology enablesmobile devices to engage in real-time, instant messaging via an IP datanetwork. Users need to register a user name tag or “handle” with aninstant messaging service provider to send and receive messages. Manycurrent MIM services also require users to maintain a persistentconnection with the Internet during a chat session.

SUMMARY

The disclosure of this application includes a server and a correspondingmethod for providing a messaging service. The server may receive, via apacket switched wireless local area network (WLAN) base station, arequest message including a destination address associated with awireless device of a recipient. The wireless device of the sender mayhave a message client running on it. The message client may be capableof determining a delivery mode for sending an outgoing message to thedestination address. The wireless device of the sender is capable ofsending, in a first delivery mode, messages via the packet switched WLANbase station. Alternatively, in a second delivery mode, the wirelessdevice of the sender is capable of sending messages via a short messageservice (SMS) bearer base station that is independent of the packetswitched WLAN base station. The server determines whether the wirelessdevice of the recipient corresponds to a subscriber of a service forreceiving the outgoing message via a packet switched bearer. The serversends a response message to the wireless device of the sender via thepacket switched WLAN base station indicating whether the wireless deviceof the recipient corresponds to a subscriber of the service forreceiving the outgoing message via a packet switched bearer. If thewireless device of the recipient corresponds to a subscriber of theservice for receiving the outgoing message via a packet switched bearer,the response message provides an indication to the wireless device ofthe sender to send, in the first delivery mode, the outgoing message tothe wireless device of the recipient using the destination address viathe packet switched WLAN base station. If the wireless device of therecipient does not correspond to a subscriber of the service forreceiving the outgoing message via a packet switched bearer, theresponse message alternatively provides an indication to the wirelessdevice of the sender to send, in the second delivery mode, the outgoingmessage to the wireless device of the recipient using the destinationaddress via the SMS bearer base station.

DISCLOSURE OF THE INVENTION

In a first aspect, the invention is a method for providing a messagingservice on a wireless device in a wireless communications network; themethod comprising the steps of:

Retrieving the destination address of an outgoing message on the device.

Verifying whether the destination address is capable of receiving themessage via a packet-switched bearer.

If verification is affirmative, then automatically sending the messageto the destination address via a packet-switched bearer, but otherwise,automatically sending the message to the destination address via an SMSbearer.

Unlike conventional SMS, EMS and MIM clients, the invention combinesexisting messaging solutions to offer a single interface for sending andreceiving both text and multimedia messages. The automatic bearerselection enables the user to have the widest range of messagingoptions, including text, voice, video, picture, based on knowledge ofthe status and capability of the recipient's device.

The SMS bearer may be a conventional GSM SS7 signalling channel. Thepacket-switched bearer may be a HSDPA, WCDMA, CDMA2000, GPRS or similardata bearer. The packet-switched bearer may also supported by otherwireless technologies such as Bluetooth, WiFi, WiMax. Further, thepacket-switched bearer may be operated by a sender's mobile operator oran independent mobile Internet service provider. Compared with an SMSbearer, a packet-switched data bearer is able to send a message withunlimited size at a higher speed.

The destination address may be a mobile phone number or a numeric“shortcode” or alias representing one or more, or a combination of,phone numbers, email addresses, instant messaging user handles and IPaddresses. Therefore, for all users of the messaging service, and unlikeconventional MIM clients, the invention utilises a user's mobile phonenumber as the identifier of the user, and does not require the user toregister a user name, tag or handle, thus providing a single number formessage sending.

A message client running on the device may programmatically anddynamically construct an outgoing message in the correct syntax giventhe user's preferences and given the dynamic requirements of the messageserver for a particular service.

The message client may interpret incoming SMS or incoming messages fromthe message server that are identified in their contents as beingrequirements for the dynamic construction of a message, when the userviews the message.

Alternatively, the message client may interpret incoming SMS or incomingmessages from the message server that are identified in their contentsas being requirements for the dynamic construction of a message, andstore the requirements for the dynamic construction of a message, suchthat they may be invoked by selecting a dynamic menu option.

The requirements may be set out in a structured format using XML suchthat the message client shall, when a user opens a message containingrequirements for the dynamic construction of a message, or when a userselects a dynamic menu:

Present the user with options to choose from; and

For each option, know the intended destination and bearer of themessage; and

Prompt the user for input or to select a file to be sent with theconstructed message; and

Construct a message of the correct syntax based on the user's choicesand input.

The method may further comprise the step of connecting to a messageserver before verifying the destination address. If connection to themessage server is not available, the invention may support severalconfiguration methods in order to configure the mobile device so as tobe able to establish a connection to the message server.

Firstly, the method may comprise the step of retrieving connectionparameters and displaying the retrieved parameters on the mobile deviceif connection to a message server is not available. A mobile user maythen use the retrieved parameters to manually configure the handsetbefore retrying to connect to the message server.

Besides manual configuration, the invention may support manual andautomatic over-the-air (OTA) programming. The method may furthercomprise the step of displaying a link for a sender to request an OTAconfiguration message if connection to the message server is notavailable. For example, a user may then access a website to request aconfiguration message to be sent to the user's mobile device.

The method may further comprise the step of retrieving connectionparameters, automatically creating an OTA configuration message based onthe retrieved parameters and sending the generated configuration messagefrom the mobile device to the same mobile device. Using such automaticOTA configuration, users do not have to manually change the settings ontheir mobile device to establish a connection with the message server.The OTA configuration message may be a binary SMS.

The step of verifying the destination address may involve sending anaddress verification request to a message server and then receiving anotification from the message server specifying whether the destinationaddress is capable of receiving the message via a packet-switchedbearer.

The destination address may be capable of receiving the message via apacket-switched bearer if the address is on a subscriber address list.The subscriber address list may be a list of destination addresses thatsubscribes to the messaging service. The subscriber address list may bemaintained by the message server.

The destination address may be capable of receiving the message using apacket-switched bearer if the address is on the subscriber address listand has an active status. For example, the recipient is inactive if thelength of the message queue of the destination address exceeds a maximumallowable length.

The method may further comprise the step of automatically providingoptions to add one or more attachments to the outgoing message beforesending the message if a packet-switched bearer is selected. Theattachment may be a text, voice, video or picture file. On the otherhand, an outgoing message that is sent using an SMS bearer can only beeither an SMS or EMS message and not have attachments.

Using the invention, a sender may optimally add attachments to anoutgoing message depending on the capability of a recipient's mobiledevice. For example, a user may attach a voice or video message a textmessage if the recipient is able to receive and play the attachment.Further, the invention uses a push model to deliver a voicemail to amobile user without the need of retrieval.

The method may further comprise the step of formatting the outgoingmessage according to the mode of delivery before sending the message. Ifthe message is sent via a packet-switched data bearer, the message maybe formatted as an XML ASCII string.

The method may further comprise the step of appending a system messageto the outgoing message if an SMS bearer is selected.

The system message may comprise an invitation to add the destinationaddress to a subscriber address list if the destination address is noton the list. Otherwise, if the destination address is on the subscriberaddress list but has an inactive status, the system message may comprisean invitation to retrieve messages in the message queue of thedestination address.

By sending an invitation to non-subscribers to add their destinationaddress to the subscriber address list, new users may subscribe to themessaging service without having to actively source how to obtain theservice. This viral, peer-to-peer invitation method also does notrequire central monitoring nor generate additional traffic since aninvitation is appended to an outgoing message.

The method may further comprise the step of notifying the recipient, ifthe recipient is on the subscriber list, when either a message has beenreceived (if the recipient is connected to the message server), or whena message is queued but not yet delivered (if the recipient is notconnected to the message server). The notification method may be asingle ring to the recipient's mobile device. A notification message mayalso be sent to the sender of the message.

The method may further comprise queuing an outgoing message for laterdelivery if the message is undelivered. For example, a message cannot bedelivered if the destination address is on the subscriber address list,but the recipient is not, at the time of sending, connected to themessage server by a packet-switched bearer.

In another aspect, the invention is a mobile device programmed toperform the method. In a further aspect, the invention is a softwareprogram to implement the method.

BRIEF DESCRIPTION OF THE DRAWINGS

An example of the invention will now be described with reference to theaccompanying drawings, in which:

FIG. 1 is a diagram of a messaging system.

FIG. 2( a) is the user interface on a sender's mobile device.

FIG. 2( b) is the user interface on a recipient's mobile device.

FIG. 3 is a flowchart of the routine performed by a message client.

FIG. 4 is a flowchart of the routine performed by a message client toestablish a connection with a message server.

FIG. 5 is a flowchart of the address verification routine performed by amessage server.

FIG. 6( a) is a diagram of the architecture of a message client.

FIG. 6( b) is an exemplary message format.

FIG. 6( c) is a diagram of a TCP/IP protocol model used by a messageclient.

FIG. 7 is the user interface on a sender's mobile device during a chatsession.

BEST MODES OF THE INVENTION

Referring first to FIG. 1, the messaging system 100 comprises a messageserver 170 in communication with network users 110, 120 and 125 via theInternet 160 and base stations 130, 150, 180 and 190. Base stations 130and 150 are typical based stations in a GSM, CDMA, 3G, 3.5G or similarnetwork that supports a HSDPA, WCDMA, CDMA2000, GPRS or similar databearer and are connected to an SMSC via Core Network 140.

Network users 110, 120 and 125 may be part of a wireless personal areanetwork (WPAN), a wireless local area network (WLAN) or a wireless widearea network (WWAN). Base stations 180 and 190 are wireless Internetbase stations operated by an independent wireless service provider. Forexample, the users may access the wireless Internet using technologiessuch as Bluetooth, ZigBee or mesh networking in a WPAN; WiFi in a WLANor WiMax in a WWAN.

In this example it is assumed that a first user 110 (“the sender”) issending a message to a second user 120 (“the recipient”). The messagecontains the phrase “Hi there!” as well as a photo and a voicemail asattachments. Referring now to FIG. 2( a), a message client 114 runs onthe mobile device 112 and is responsible for choosing the mode ofdelivery of an outgoing message.

To use the invention, the message client 114 needs to be activated bythe sender 110. However, the message client 114 may be also activatedautomatically when the handset is switched on if such feature issupported by the handset's operating system. Having activated themessage client 114, the sender 110 then selects or enters a destinationnumber. The message client 114 then decides on how the message can besent.

The recipient 120 may be on a network operated by the same or adifferent service provider. The sender and the recipient are eachassociated with an address. The destination address is either a mobilephone number or a numeric “shortcode” or “channel”, which is an aliasrepresenting one or more phone number, email address or instant messagehandle. For example, certain number ranges may be controlled by themessaging server (e.g. 1 800 xxxxxx), some under users' control asdestinations as aliases for a group of numbers and addresses (e.g. 1 801xxxxxx), and some for accessing content services (e.g. 1 900 xxxxxx).Shortcodes are unique and private to a user, hence the same numericshortcode may be used by multiple users.

Shortcodes are created by users and maintained by message server 170.For example, a user creates a shortcode by sending a message with thefollowing content to the message server 170:

-   -   Add channel20 andrew@messmo.com,    -   robert@yahoo.com, 0423789080, 98765432@jabber.org.

The shortcode 20 is an alias for a group comprising two email addresses,one mobile number and an instant message handle. For example, to send amessage to the shortcode created, the destination address will be set to1801 20.

The syntax of messages in the example above is strict, however the useris not limited in their use of services by limits in their own knowledgeof the message syntax.

The message client 114 is able to programmatically and dynamicallyconstruct an outgoing message in the correct syntax given the user'spreferences and given the dynamic requirements of the message server 170for a particular service.

The message client 114 interprets incoming SMS or incoming messages fromthe message server 170 that are identified in their contents as beingrequirements for the dynamic construction of a message. Theinterpretation can occur either when the user views the message (forexample a message titled “Click to create a Channel”), and/or themessage client may interpret the incoming SMS, or incoming messages fromthe message server 170, and store the requirements for the dynamicconstruction of a message, such that they may be invoked by selecting adynamic menu option.

The requirements are set out in a structured format using XML such thatthe message client 114 shall, either when a user opens a messagecontaining requirements for the dynamic construction of a message, orselects a dynamic menu:

-   -   Present the user with options to choose from; and    -   For each option, know the intended destination and bearer of the        message; and    -   Prompt the user for input or to select a file to be sent with        the constructed message; and

Construct a message of the correct syntax based on the user's choicesand input. If the message contained requirements for the dynamicconstruction of a message, where those requirements are by way ofexample set out as:

<MessageConstructorRequirements>    <MCTitle>Shortcode</ MCTitle > <Option>   <OptionTitle>Subscribe</ OptionTitle>   <Bearer>SMS</Bearer>  <Destination>1800</Destination   <OutputToken DataType=‘String’InputMethod=‘Constant’ Count=‘1’>Add   Channel</OutputToken>  <OutputToken DataType=‘Number’ InputMethod=‘Input’Count=‘1’>Channel</OutputToken>   <OutputToken DataType=‘String’InputMethod=‘Input’ Count=‘4’>Destination</0utputToken>  </Option> </MessageConstructorRequirements >

The message client 114 would present the user with a message titled‘Shortcode’, where the message client would:

-   -   Present the user with the option ‘Subscribe’; and if this option        is selected    -   Prompt the user for one shortcode eg. User inputs 20; and    -   Prompt the user for four destinations eg. User inputs        andrew@messmo.com, robert@yahoo.com, 0423789080,        98765432@jabber.org; and    -   Construct a message eg. ‘Add Channel20 andrew@messmo.com,        robert@yahoo.com, 0423789080, 98765432@jabber.org’ to be sent to        1900 via SMS bearer.

Thus enabling the benefit to the user of the use of a service where theyotherwise may have been unfamiliar with, or unwilling to input, thestrict syntax of the message required for the service.

When a message is sent to a shortcode, the message can be sent either asa conventional SMS or EMS message using a conventional SMS bearer or apacket-switched data bearer. If a SMS bearer is used, the message willbe sent via a GSM or GPRS signalling channel to Core Network 140, SMSC145, base station 150 before finally reaching recipient 120. If an SMSbearer is used the attachments such as the photo and voicemail will notbe sent.

If a packet-switched data bearer is used, the message client has achoice of sending the message using a packet-switched bearer supportedby the mobile operator's or a third party's network. For example, in aGSM system with General Packet Radio Service (GPRS) overlay, an SMSbearer may be an SS7 signalling channel while a packet-switched databearer may be a shared transmission channel that combines multipletimeslots in a GSM TDMA frame. The packet-switched data bearer may alsobe a Bluetooth, WiFi, WiMax or any other WPAN, WLAN, or WWAN wirelessdata transfer protocol.

Referring now to FIG. 3, the client 114 first checks whether the sender110 is connected to the Internet 160 and message server 170; see step205. As shown in FIG. 1, the sender 110 may be connected to the messageserver 170 via a mobile operator's data network (base stations 130) or anetwork provided by an independent mobile Internet service provider(base station 180).

The step of connecting to the message server 170 (step 205) will now beexplained with reference to FIG. 4. The client 117 first checks whetherconnection to the message server 170 is available. If the connection isnot available, the client 117 displays options for the sender 110 toconfigure the handset such that connection to the message server 170 canbe established; see step 265.

The client 117 supports three configuration methods. Firstly, manualconfiguration may be used; see steps 270, 272 and 274. In this case, theclient 117 first retrieves information specific to the handset and themobile Internet service provider. As mentioned, the mobile Internetservice provider may be a mobile operator or an independent provider.The client 117 then displays the retrieved information such that thesender 110 can configure the handset manually; step 274.

Alternatively, if the sender's mobile device is capable of receiving andprocessing OTA messages, the client 117 may provide a link to a websitethat solicits OTA configuration requests; steps 280 and 282. The websitemay be operated by the message server 170 or a third party and accessedvia a PC, WAP connection from the sender's mobile device or other means.Upon receiving the OTA configuration message, the sender's mobile devicewill ask the sender to accept the changes to its mobile Internet accesssettings according to the configuration message; step 298. If thechanges are accepted, the client 117 then retries to connect to themessage server 170; step 295.

Besides manual configuration and manual OTA configuration requests, theclient 117 is capable of performing self-configuration; see steps 290,292 and 294. Assuming that the client 117 is aware of the specificparameters necessary to configure the sender's mobile device to accessthe mobile Internet, the client 117 first creates an OTA configurationmessage based on the parameters. The client 117 then sends the OTAmessage to the sender's handset (same device). For example, the messagemay be sent as an OTA binary SMS. Upon receiving the OTA configurationmessage, the sender's mobile device asks the sender to accept thechanges to its mobile Internet access settings according to theconfiguration message; step 298. Similarly, the client 117 then retriesto connect to the message server 170 when under the new settings; step295.

The above configuration steps may be repeated until either the messageserver 170 is connected or the user has abandoned the configuration instep 265. In this case, that is the connection to the message server 170is not available, the client 117 will select an SMS bearer as the modeof delivering the outgoing message and proceeds to format the message instep 240. Note that besides configuring the mobile Internet accesssettings of a mobile device, the client 117 may generate OTA messages toconfigure other settings such as email, WAP, MMS and video streaming.

If the sender has access to the message server 170, the client 114 thenretrieves from the message without reference to the message server thedestination address of the outgoing message 220; see step 210. Theclient then sends a verification request to the message server 170 viabase station 130 or 180 and the Internet 160; step 215.

Upon receiving an address verification request, the message server 170performs the method shown in FIG. 5. The message server 170 first checkswhether the destination address is on a list of subscribing addresses;step 320. If the destination address is not known to the message server170, the mode of delivery will be set to an SMS bearer; step 350.

If the destination is on the list of subscribing addresses, the messageserver 170 proceeds to check the status of the recipient, that iswhether the destination message queue length has exceeded apredetermined maximum length; 330. If the recipient has a long inactivequeue, the message server 170 will notify the message client 114 to sendthe message using an SMS bearer; see step 350. Otherwise, the mode ofdelivery is set to a packet-switched bearer; see step 360 in FIG. 5.

Referring to FIG. 3 again, the message client 114 at the sender 110provides options for format and attachment of the outgoing message basedon the mode of delivery; steps 224, 226, 230 and 240. The mode ofdelivery, using information about the recipient's handset stored in themessage server, provides an indication of the capabilities of therecipient's handset and the type of message that can be received by therecipient's 120. If the recipient 120 is an active user, the full rangeof the recipient's capabilities is assumed. However, if the recipient120 is an inactive or past subscriber, the message server's 170knowledge of the recipient's capabilities may be outdated if therecipient has changed its handset. The recipient 120 may then be invitedto update its information.

The message client 114 then intelligently advises the sender 110 whetherthe recipient 120 is able to read attachments or non-text messages. Forexample, if the mode of delivery is a packet-switched bearer, the sender110 is offered with the “ATTACH” option to add voice, picture or videoattachments to the message; see FIG. 2( a) and steps 224 and 226 in FIG.3.

If the mode of delivery is an SMS bearer, the “ATTACH” option will bedisabled. Further, depending on configurable settings on the sender'smobile device, the client 117 also appends a system message to theoutgoing message in step 245. If the destination address is not on thelist of subscribing addresses, an invitation to download the client willbe added to the outgoing SMS or EMS. For example, the invitation mayread:

“Go to www.clientdownload.com to download <name of message client>”.

The message client 114 can then be downloaded to the recipient's mobiledevice 120. Then upon starting the message client, the message clientwill generate a unique authentication identifier, either randomly orderived from the mobile devices hardware identification or generated bythe message server. The message client will then initiate a connectionto the message server and communicate the authentication identifier. Themessage client will in parallel send a SMS containing the authenticationidentifier to a SMS gateway service. The SMS gateway service then sendsthe message, including the originating phone number and the body of themessage containing the authentication identifier, to the message servervia HTPP, SMTP, SMPP or a similar protocol.

Upon receipt of the details of a SMS, the message server will determinethe originating phone number of the mobile device from the details ofthe SMS, and hence add the new address (originating phone number) to thelist of subscribing addresses. By matching the authenticationidentifier, either the message server will send the message clientconfirmation that the mobile device and user has been authenticated, orthe message client will initiate the action and request the sameconfirmation from the message server. This authentication method allowsnew users to be authenticated and to subscribe to the messaging servicevia one SMS without requiring any registration or data entry.

If the destination address is on the list of subscribing addresses butthe recipient 120 is inactive, a message to remind the recipient 120 toconnect to the message server 170 will be appended to the outgoing SMSor EMS. For example, the system message may read:

“You have 50 unread messages on <name of message client>.” Returning tothe sending mobile device 110, if the mode of delivery is apacket-switched bearer, the message client manages the delivery of themessage similar to a MIM client such as Jabber. An exemplaryarchitecture of the message client is shown in FIG. 6( a), where themessage client may be a Java 2, Mobile Edition (J2ME) program installedon a mobile device. The formatted message is sent as an XML ASCII stringvia a TCP/IP socket to the message server or a HTTP post, an example ofwhich is shown in FIG. 6( b). The message contains a text phrase “Hithere!” in the body and two attachments. A photo attachment is definedbetween <photo> and </photo> and a voicemail is defined between<voicemail> and </voicemail>.

FIG. 6( c) illustrates the five-layer TCP/IP protocol model used by themessage client. GPRS, 3G, 3.5G or other wireless protocols such asBluetooth, WiFi and Wimax are used in the data link layer to deliver themessage from the mobile device to the wireless communications network,IP is used in the network layer to deliver the packet from the sender tothe recipient, UDP and TCP form the transport layer and HTTP, WAP andXML are used in the application and presentation layers.

FIG. 2( b) shows the user interface of the recipient 120 when a messageis received. The recipient 120 may receive a notification when themessage has been successfully received as the recipient while beingconnected to the messaging server, may be using another function of themobile device. The notification may be a single ring of the recipient'smobile device.

If the destination address is a shortcode, steps 320 and 330 in FIG. 5are repeated for each phone number, email address and user name tagrepresented by the shortcode. If not all addresses in the shortcode arecapable of receiving the message via a packet-switched data bearer, thereply by message server 170 may be an array of binary answers. Forexample, if a shortcode represents three addresses and only the firsthas installed the message client, the mode of delivery is set tom₁m₂m₃=100, where 1 represents a packet-switched bearer and 0 representsan SMS bearer.

A delivery confirmation message may also be sent to the sender 110 bythe message 170 if the message is sent using a packet-switched bearer.The message client 114 maintains a copy of recent messages sent by auser, for example, for a limited time. If a message is unsuccessfullydelivered, it will be queued for later delivery. For example, a messagecannot be delivered if the recipient 120 is not connected to the messageserver 170 when the message is sent. In this case the recipient 120 mayreceive a notification that a message is queued for later delivery. Thenotification may be a single ring of the recipient's mobile device,generated by the message server 170, but using a different originatingnumber from that used for the notification when the message has beendelivered, so as to enable the user to optionally utilize mobile devicefeatures such as distinct ringtones mapped to sending numbers.

A sender 110 and a recipient 120 may send and receive multiple messagesduring a chat session. The user interface may be similar to that of adesktop instant messaging program. For example, an exemplary userinterface of sender 110 is shown in FIG. 7. A left arrow indicates amessage sent by the sender while a right arrow represents a receivedmessage. Depending on configurable user preferences, the recipient 120with phone number 1234 may choose to have his or her presence known tothe sender 110; see 116 in FIG. 7. Using the presence information, thesender 110 may then stop sending new messages to the recipient 120 ifthe latter has gone offline.

Besides performing address verification, the message server 170 alsomaintains user authentication. Authentication is simple and does notrequire a user to create a user name tag like existing MIM servers.Instead, the user's mobile phone number is the default identifier.Authentication adds the mobile phone number to the subscriber addresslist.

Referring to FIG. 1 again, the message server 170 receives each messagethat is sent using a packet switched bearer. Each message is in an XMLformat, and the message server parses the message to determine thedestination address.

The message server 170 is also in communication with third-party contentproviders 175 over the Internet 180. When the message server identifiesa destination address corresponding to a third party content provider,it automatically sends the message to the third party. The third partymay, for example depending on the presence of keywords, send additionalinformation related to the keywords to the sender 110. However, a usermay disable this feature.

For example, if the message contains the name of a certain brand, BUYME,information concerning where to buy the product or its latest promotionwill be retrieved from the third party content provider in communicationwith the message server. In this case, depending on the capability ofthe recipient's mobile device, the information may be sent as aconventional SMS or as a text message via a packet-switched bearer, withoptionally one or more attachments.

User privacy may be protected by not revealing a user's phone number toa third party without the consent of the user. For example, a user maysend a query to a third party content provider 175 to ask about theweather forecast in a particular location via the message server 170. Tohide a user's identity, the message server may dynamically create arandom number that maps to the user's actual mobile number and passesthe query to the third party content provider 175. Further, this mappingmay be dynamic, not static, to ensure that the third party is not ableto determine information about the general behavior of the users.

Similar to user-to-user messages, the type of advertising and marketingmessage that is sent to a user also depends on the capabilities of theuser's handset. Therefore since the message server is aware of thecapabilities of user's handsets, as user handsets are upgraded, themessage server 170 is able to target those users with enhanced,multimedia message content.

It will be appreciated by persons skilled in the art that numerousvariations and/or modifications may be made to the invention as shown inthe specific embodiments without departing from the spirit or scope ofthe invention as broadly described. For instance, the currentapplication outlines how a user, when using a message client, will beprompted to use an SMS, if the recipient is not a user of the messageservice. The existing context of this is that the user is initiating themessage. The functionality can be extended to the situation where amessage is sent using the message client with the goal of prompting theuser to send a response SMS. This can be useful in generating SMStraffic from third parties by sending one message that prompted therecipients to select one or more voting buttons each of which causes anSMS to be sent to a specific premium number.

Conversely the same concept works well for a community of users of amessage client who do not wish to use premium numbers. The entirecommunity can be polled. Each receives an indication to select a votingbutton, and the selections each cause a message with predetermined textto be sent to a predetermined recipient. This minimizes the event offalse responses that cannot be counted.

The present embodiments are, therefore, to be considered in all respectsas illustrative and not restrictive.

1. A method for use in a message server, the method comprising:receiving, from a wireless device of a sender via a packet switchedwireless local area network (WLAN) base station, a request messageincluding a destination address associated with a wireless device of arecipient, from a message client running on the wireless device of thesender, the message client capable of determining a delivery mode forsending an outgoing message to the destination address, wherein thewireless device of the sender is capable of sending, in a first deliverymode, messages via the packet switched WLAN base station or,alternatively, in a second delivery mode, via a short message service(SMS) bearer base station that is independent of the packet switchedWLAN base station; determining whether the wireless device of therecipient corresponds to a subscriber of a service for receiving theoutgoing message via a packet switched bearer; and sending a responsemessage, to the wireless device of the sender via the packet switchedWLAN base station, indicating whether the wireless device of therecipient corresponds to a subscriber of the service for receiving theoutgoing message via a packet switched bearer, wherein, if the wirelessdevice of the recipient corresponds to a subscriber of the service forreceiving the outgoing message via a packet switched bearer, theresponse message provides an indication to the wireless device of thesender to send, in the first delivery mode, the outgoing message to thewireless device of the recipient using the destination address via thepacket switched WLAN base station, and wherein, if the wireless deviceof the recipient does not correspond to a subscriber of the service forreceiving the outgoing message via a packet switched bearer, theresponse message alternatively provides an indication to the wirelessdevice of the sender to send, in the second delivery mode, the outgoingmessage to the wireless device of the recipient using the destinationaddress via the SMS bearer base station.
 2. The method of claim 1,wherein the SMS bearer base station is associated with a cellular corenetwork, and the request message received from the wireless device ofthe sender and the response message sent to the wireless device of thesender does not traverse the cellular core network associated with theSMS bearer base station.
 3. The method of claim 1, further comprising:receiving, from the wireless device of the sender, the outgoing messagevia the packet switched WLAN base station, wherein the outgoing messageis formatted in a syntax associated with the packet switched WLAN basestation.
 4. The method of claim 1, wherein the response message enablesthe wireless device of the sender to display an indication of whetherthe wireless device of the recipient corresponds to a subscriber of theservice for receiving the outgoing message via a packet switched bearer.5. The method of claim 1, wherein the response message enables thewireless device of the sender to select at least one type of permissibleattachment based on whether the wireless device of the recipientcorresponds to a subscriber of the service for receiving the outgoingmessage via a packet switched bearer.
 6. The method of claim 1, whereinthe response message enables the wireless device of the sender to denyany type of attachment when the wireless device of the recipient doesnot correspond to a subscriber of the service for receiving the outgoingmessage via a packet switched bearer.
 7. The method of claim 1, whereinthe destination address is a mobile phone number.
 8. The method of claim1, further comprising: receiving, from the wireless device of thesender, the outgoing message via the packet switched WLAN base station;and queuing the outgoing message for later delivery if the outgoingmessage cannot be delivered to the wireless device of the recipient. 9.The method of claim 1, further comprising: sending, to the wirelessdevice of the sender via the packet switched WLAN base station, adelivery confirmation message if the outgoing message is successfullydelivered to the wireless device of the recipient when the wirelessdevice of the recipient corresponds to a subscriber of the service forreceiving the outgoing message via a packet switched bearer, to enablethe wireless device of the sender to display an indication that theoutgoing message was delivered.
 10. The method of claim 1, furthercomprising: sending, to the wireless device of the sender via the packetswitched WLAN base station, presence information associated with thewireless device of the recipient, when the wireless device of therecipient corresponds to a subscriber of the service for receiving theoutgoing message via a packet switched bearer, to enable the wirelessdevice of the sender to display an indication of the presence of thewireless device of the recipient.
 11. The method of claim 1, furthercomprising: storing at least one destination address, whereindetermining whether the wireless device of the recipient corresponds toa subscriber of the service for receiving the outgoing message via apacket switched bearer includes comparing the received destinationaddress associated with the wireless device of the recipient against theat least one stored destination address.
 12. The method of claim 1,further comprising: storing a list of a plurality of destinationaddresses, each of the plurality of destination addresses correspondingto a subscriber of the service for receiving the outgoing message via apacket switched bearer, wherein the service is independent of a cellularcore network associated with the SMS bearer base station, whereindetermining whether the wireless device of the recipient corresponds toa subscriber of the service for receiving the outgoing message via apacket switched bearer includes comparing the received destinationaddress associated with the wireless device of the recipient against thelist.
 13. A message server comprising: a receiver configured to receive,from a wireless device of a sender via a packet switched wireless localarea network (WLAN) base station, a request message including adestination address associated with a wireless device of a recipient,from a message client running on the wireless device of the sender, themessage client capable of determining a delivery mode for sending anoutgoing message from the wireless device of the sender, wherein thewireless device of the sender is capable of sending messages, in a firstdelivery mode, via the packet switched WLAN base station, oralternatively, in a second delivery mode, via a short message service(SMS) bearer base station that is independent of the packet switchedWLAN base station; a processor configured to determine whether thewireless device of the recipient corresponds to a subscriber of aservice for receiving the outgoing message via a packet switched bearer;and a transmitter configured to send a response message, to the wirelessdevice of the sender via the packet switched WLAN base station,indicating whether the wireless device of the recipient corresponds to asubscriber of the service for receiving the outgoing message via apacket switched bearer, wherein, if the wireless device of the recipientcorresponds to a subscriber of a service for receiving the outgoingmessages via a packet switched bearer, the response message provides anindication to the wireless device of the sender to send, in the firstdelivery mode, the outgoing message to the wireless device of therecipient using the destination address via the packet switched WLANbase station, and wherein, if the wireless device of the recipient doesnot correspond to a subscriber of the service for receiving the outgoingmessage via a packet switched bearer, the response message alternativelyprovides an indication to the wireless device of the sender to send, inthe second delivery mode, the outgoing message to the wireless device ofthe recipient using the destination address via the SMS bearer basestation.
 14. The message server of claim 13, wherein the SMS bearer basestation is associated with a cellular core network, and the receiver isfurther configured to receive the request message from the wirelessdevice of the sender without the request message traversing the cellularcore network associated with the SMS bearer base station, and thetransmitter is further configured to send the response message towireless device of the sender without the response message traversingthe cellular core network associated with the SMS bearer base station.15. The message server of claim 13, wherein the receiver is furtherconfigured to receive, from the wireless device of the sender, theoutgoing message via the packet switched WLAN base station, wherein theoutgoing message is formatted in a syntax associated with the packetswitched WLAN base station.
 16. The message server of claim 13, whereinthe response message enables the wireless device of the sender todisplay an indication of whether the wireless device of the recipientcorresponds to a subscriber of the service for receiving the outgoingmessage via a packet switched bearer.
 17. The message server of claim13, wherein the response message enables the wireless device of thesender to select at least one type of permissible attachment based onwhether the wireless device of the recipient corresponds to a subscriberof the service for receiving the outgoing message via a packet switchedbearer.
 18. The message server of claim 13, wherein the response messageenables the wireless device to deny any type of attachment when thewireless device of the recipient does not correspond to a subscriber ofthe service for receiving the outgoing message via a packet switchedbearer.
 19. The message server of claim 13, wherein the destinationaddress is a mobile phone number.
 20. The message server of claim 13,wherein the receiver is further configured to receive, from the wirelessdevice of the sender, the outgoing message via the packet switched WLANbase station, and the processor is further configured to queue theoutgoing message for later delivery if the outgoing message cannot bedelivered to the wireless device of the recipient.
 21. The messageserver of claim 13, wherein the transmitter is further configured tosend, to the wireless device of the sender via the packet switched WLANbase station, a delivery confirmation message when the wireless deviceof the recipient corresponds to a subscriber of the service forreceiving the outgoing message via a packet switched bearer, to enablethe wireless device of the sender to display an indication that theoutgoing message was delivered.
 22. The message server of claim 13,wherein the transmitter is further configured to send presenceinformation associated with the wireless device of the recipient, to thewireless device of the sender via the packet switched WLAN base station,when the wireless device of the recipient corresponds to a subscriber ofthe service for receiving the outgoing message via a packet switchedbearer, to enable the wireless device of the sender to display anindication of the presence of the wireless device of the recipient. 23.The message server of claim 13, further comprising: a storage configuredto store at least one destination address, wherein the processor isconfigured to determine whether the wireless device of the recipientcorresponds to a subscriber of the service for receiving the outgoingmessage a packet switched bearer by comparing the received destinationaddress associated with the wireless device of the recipient against theat least one stored destination address.
 24. The message server of claim13, further comprising: a storage configured to store a list of aplurality of destination addresses, each of the plurality of destinationaddresses corresponding to a subscriber of the service for receiving theoutgoing message via a packet switched bearer, therein the service isindependent of a cellular core network associated with the SMS bearerbase station, wherein the processor is configured to determine whetherthe wireless device of the recipient corresponds to a subscriber of theservice for receiving the outgoing message via a packet switched bearerby comparing the received destination address associated with thewireless device of the recipient against the list.